{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二章习题\n",
    "\n",
    "### 一、填空题\n",
    "\n",
    "1.列表的`sort()`方法没有返回值,或者说返回值为________."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2.已知列表 `data=[1,2,30 4]`，那么`data[2:100]`的值为________."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：[]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3.己知`x=3`和`y=5`,那么执行语句`x,y=y,x`之后，`y`的值为________."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4．已知字典 `data= {'a;97, 'A' :65}`,那么`data.get('a', None)`的值为________."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：97"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 二、判断题\n",
    "\n",
    "1.生成器表达式的计算结果是一个元组。`(    )`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：×"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2．包含列表的元组可以作为字典的“键”。`(    )`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：×"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3．包含列表的元组不可以作为集合的元素。`(    )`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：√"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4．列表的`rindex()`方法返回指定元素在列表中最后一次出现的位置。`(    )`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "答案：×"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 三、编程题\n",
    "\n",
    "1.输入一个字符串，输出其中每个字符的出现次数。要求使用标准库`collotections`中的`Counter`类,请自行查阅相关用法。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个字符串:'5,3,6,2,0,8,3,6,2,0,8,3,,4,2,5'\n"
     ]
    }
   ],
   "source": [
    "s = eval(input('请输入一个字符串:'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.count('5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.count('2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.count('3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.count('6')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.count('0')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.count('8')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.count('4')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2．输入一个字符串,输出其中只出现了一次的字符及其下标。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个字符串:'2,5,3,5,3,2,7,0,7,5,2'\n"
     ]
    }
   ],
   "source": [
    "s = eval(input('请输入一个字符串:'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "positions = [(ch,index)for index ,ch in enumerate(s)if s.index(ch)==s.rindex(ch)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('0', 14)]\n"
     ]
    }
   ],
   "source": [
    "print(positions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3．输入一个字符串,输出其中每个唯一字符最后一次出现的下标。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个字符串'8,6,4,0,9,8,4,3'\n"
     ]
    }
   ],
   "source": [
    "s = eval(input('请输入一个字符串'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('6', 2), ('0', 6), ('9', 8), ('8', 10), ('4', 12), (',', 13), ('3', 14)]\n"
     ]
    }
   ],
   "source": [
    "positions =[(ch,index) for index,ch in enumerate(s)\n",
    "if index == s.rindex(ch)]\n",
    "print(positions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4．输入包含若干集合的列表，输出这些集合的并集。提示:使用`reduce()`函数和`operator`模块中的运算实现多个集合的并集。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入包含若干集合的列表：[{1,5},{7,4}]\n"
     ]
    }
   ],
   "source": [
    "from functools import reduce\n",
    "from operator import __or__\n",
    "x = eval(input('请输入包含若干集合的列表：'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{1, 4, 5, 7}\n"
     ]
    }
   ],
   "source": [
    "print(reduce(__or__,x))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "5．输入一个字符串,检查该字符串是否为回文（正着读和反看读都一样的字符串)，如果是就输出`Yes`，否则输出`No`。要求使用切片实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个字符串'2,3,9,8,7,6,3'\n"
     ]
    }
   ],
   "source": [
    "s = eval(input('请输入一个字符串'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No\n"
     ]
    }
   ],
   "source": [
    "x = s[::-1]\n",
    "if s == x:\n",
    "    print('Yes')\n",
    "else:\n",
    "    print('No')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "书P65"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1.  range对象"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2.  4"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3.  None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4.  remove(x)"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "5. [6,7,9,11]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "6.  {} 键 值 键"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "7.  items(x)  key(x)  values(x)"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "8.  [\"dict(zip(a,b))\"]"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "9.  b=a[::3]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "10.  5 for i in range(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "11.  不可以"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "12"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = ['fagbc','aaccbbdd','yjyjyj,koukou']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['fagbc']\n"
     ]
    }
   ],
   "source": [
    "print(list(filter(lambda s:len(set(s))/len(s) >0.5,data)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "13不会"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "14"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "因为列表是有序的，当进行列表增加或者删除元素时，列表对象会自动进行内存的扩展或收缩，从而保证元素之间没有缝隙，但这涉及到元素的移动，效率较低，所以应尽量从列表的尾部进行元素的增加与删除操作以提高处理速度。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "15"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = [random.randint(0,100)for i in range(1000)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[95,\n",
       " 21,\n",
       " 28,\n",
       " 15,\n",
       " 48,\n",
       " 42,\n",
       " 52,\n",
       " 14,\n",
       " 43,\n",
       " 49,\n",
       " 17,\n",
       " 32,\n",
       " 9,\n",
       " 13,\n",
       " 6,\n",
       " 34,\n",
       " 59,\n",
       " 68,\n",
       " 13,\n",
       " 53,\n",
       " 37,\n",
       " 83,\n",
       " 89,\n",
       " 13,\n",
       " 49,\n",
       " 66,\n",
       " 67,\n",
       " 81,\n",
       " 51,\n",
       " 31,\n",
       " 17,\n",
       " 8,\n",
       " 88,\n",
       " 51,\n",
       " 44,\n",
       " 39,\n",
       " 3,\n",
       " 43,\n",
       " 20,\n",
       " 4,\n",
       " 17,\n",
       " 41,\n",
       " 68,\n",
       " 41,\n",
       " 82,\n",
       " 8,\n",
       " 86,\n",
       " 49,\n",
       " 22,\n",
       " 95,\n",
       " 62,\n",
       " 79,\n",
       " 72,\n",
       " 41,\n",
       " 15,\n",
       " 27,\n",
       " 82,\n",
       " 46,\n",
       " 37,\n",
       " 57,\n",
       " 12,\n",
       " 94,\n",
       " 7,\n",
       " 92,\n",
       " 75,\n",
       " 57,\n",
       " 22,\n",
       " 63,\n",
       " 76,\n",
       " 70,\n",
       " 83,\n",
       " 4,\n",
       " 21,\n",
       " 86,\n",
       " 43,\n",
       " 75,\n",
       " 14,\n",
       " 55,\n",
       " 41,\n",
       " 71,\n",
       " 7,\n",
       " 45,\n",
       " 68,\n",
       " 27,\n",
       " 98,\n",
       " 63,\n",
       " 81,\n",
       " 2,\n",
       " 75,\n",
       " 82,\n",
       " 69,\n",
       " 36,\n",
       " 14,\n",
       " 7,\n",
       " 30,\n",
       " 8,\n",
       " 100,\n",
       " 60,\n",
       " 99,\n",
       " 82,\n",
       " 71,\n",
       " 72,\n",
       " 40,\n",
       " 19,\n",
       " 21,\n",
       " 16,\n",
       " 23,\n",
       " 57,\n",
       " 59,\n",
       " 50,\n",
       " 98,\n",
       " 30,\n",
       " 96,\n",
       " 59,\n",
       " 65,\n",
       " 51,\n",
       " 70,\n",
       " 54,\n",
       " 50,\n",
       " 66,\n",
       " 79,\n",
       " 55,\n",
       " 78,\n",
       " 95,\n",
       " 26,\n",
       " 44,\n",
       " 79,\n",
       " 46,\n",
       " 85,\n",
       " 24,\n",
       " 25,\n",
       " 4,\n",
       " 31,\n",
       " 76,\n",
       " 55,\n",
       " 1,\n",
       " 83,\n",
       " 60,\n",
       " 15,\n",
       " 82,\n",
       " 75,\n",
       " 92,\n",
       " 89,\n",
       " 51,\n",
       " 97,\n",
       " 22,\n",
       " 83,\n",
       " 58,\n",
       " 30,\n",
       " 92,\n",
       " 69,\n",
       " 64,\n",
       " 34,\n",
       " 81,\n",
       " 84,\n",
       " 85,\n",
       " 9,\n",
       " 20,\n",
       " 68,\n",
       " 78,\n",
       " 6,\n",
       " 68,\n",
       " 5,\n",
       " 70,\n",
       " 97,\n",
       " 47,\n",
       " 80,\n",
       " 80,\n",
       " 37,\n",
       " 38,\n",
       " 15,\n",
       " 32,\n",
       " 20,\n",
       " 81,\n",
       " 43,\n",
       " 52,\n",
       " 71,\n",
       " 48,\n",
       " 77,\n",
       " 51,\n",
       " 48,\n",
       " 19,\n",
       " 27,\n",
       " 19,\n",
       " 79,\n",
       " 96,\n",
       " 58,\n",
       " 57,\n",
       " 94,\n",
       " 19,\n",
       " 56,\n",
       " 39,\n",
       " 42,\n",
       " 10,\n",
       " 6,\n",
       " 99,\n",
       " 30,\n",
       " 66,\n",
       " 59,\n",
       " 64,\n",
       " 79,\n",
       " 77,\n",
       " 75,\n",
       " 83,\n",
       " 57,\n",
       " 49,\n",
       " 29,\n",
       " 35,\n",
       " 56,\n",
       " 6,\n",
       " 12,\n",
       " 75,\n",
       " 52,\n",
       " 57,\n",
       " 86,\n",
       " 70,\n",
       " 16,\n",
       " 99,\n",
       " 1,\n",
       " 67,\n",
       " 86,\n",
       " 58,\n",
       " 91,\n",
       " 24,\n",
       " 25,\n",
       " 38,\n",
       " 63,\n",
       " 99,\n",
       " 62,\n",
       " 65,\n",
       " 22,\n",
       " 9,\n",
       " 38,\n",
       " 74,\n",
       " 28,\n",
       " 55,\n",
       " 77,\n",
       " 79,\n",
       " 83,\n",
       " 2,\n",
       " 37,\n",
       " 8,\n",
       " 66,\n",
       " 35,\n",
       " 50,\n",
       " 73,\n",
       " 45,\n",
       " 17,\n",
       " 68,\n",
       " 41,\n",
       " 29,\n",
       " 0,\n",
       " 40,\n",
       " 24,\n",
       " 32,\n",
       " 85,\n",
       " 52,\n",
       " 4,\n",
       " 90,\n",
       " 67,\n",
       " 79,\n",
       " 46,\n",
       " 14,\n",
       " 5,\n",
       " 67,\n",
       " 42,\n",
       " 45,\n",
       " 30,\n",
       " 95,\n",
       " 84,\n",
       " 41,\n",
       " 24,\n",
       " 50,\n",
       " 73,\n",
       " 100,\n",
       " 6,\n",
       " 0,\n",
       " 62,\n",
       " 100,\n",
       " 8,\n",
       " 2,\n",
       " 89,\n",
       " 29,\n",
       " 25,\n",
       " 56,\n",
       " 73,\n",
       " 41,\n",
       " 69,\n",
       " 86,\n",
       " 35,\n",
       " 21,\n",
       " 61,\n",
       " 92,\n",
       " 46,\n",
       " 97,\n",
       " 36,\n",
       " 87,\n",
       " 70,\n",
       " 81,\n",
       " 24,\n",
       " 50,\n",
       " 31,\n",
       " 90,\n",
       " 39,\n",
       " 46,\n",
       " 53,\n",
       " 100,\n",
       " 49,\n",
       " 77,\n",
       " 4,\n",
       " 74,\n",
       " 47,\n",
       " 75,\n",
       " 10,\n",
       " 52,\n",
       " 42,\n",
       " 18,\n",
       " 92,\n",
       " 71,\n",
       " 31,\n",
       " 74,\n",
       " 47,\n",
       " 99,\n",
       " 19,\n",
       " 19,\n",
       " 99,\n",
       " 75,\n",
       " 87,\n",
       " 56,\n",
       " 22,\n",
       " 72,\n",
       " 40,\n",
       " 66,\n",
       " 55,\n",
       " 82,\n",
       " 68,\n",
       " 60,\n",
       " 31,\n",
       " 97,\n",
       " 16,\n",
       " 70,\n",
       " 3,\n",
       " 99,\n",
       " 56,\n",
       " 94,\n",
       " 38,\n",
       " 56,\n",
       " 52,\n",
       " 72,\n",
       " 63,\n",
       " 18,\n",
       " 21,\n",
       " 23,\n",
       " 61,\n",
       " 9,\n",
       " 60,\n",
       " 72,\n",
       " 14,\n",
       " 82,\n",
       " 76,\n",
       " 85,\n",
       " 98,\n",
       " 7,\n",
       " 14,\n",
       " 33,\n",
       " 59,\n",
       " 63,\n",
       " 63,\n",
       " 12,\n",
       " 2,\n",
       " 11,\n",
       " 74,\n",
       " 12,\n",
       " 87,\n",
       " 15,\n",
       " 75,\n",
       " 85,\n",
       " 24,\n",
       " 54,\n",
       " 85,\n",
       " 45,\n",
       " 6,\n",
       " 55,\n",
       " 0,\n",
       " 10,\n",
       " 76,\n",
       " 28,\n",
       " 18,\n",
       " 69,\n",
       " 96,\n",
       " 6,\n",
       " 96,\n",
       " 8,\n",
       " 88,\n",
       " 53,\n",
       " 95,\n",
       " 96,\n",
       " 37,\n",
       " 2,\n",
       " 80,\n",
       " 11,\n",
       " 92,\n",
       " 89,\n",
       " 46,\n",
       " 80,\n",
       " 10,\n",
       " 27,\n",
       " 3,\n",
       " 83,\n",
       " 7,\n",
       " 20,\n",
       " 13,\n",
       " 73,\n",
       " 29,\n",
       " 22,\n",
       " 48,\n",
       " 52,\n",
       " 39,\n",
       " 78,\n",
       " 98,\n",
       " 73,\n",
       " 6,\n",
       " 87,\n",
       " 27,\n",
       " 12,\n",
       " 35,\n",
       " 37,\n",
       " 47,\n",
       " 16,\n",
       " 54,\n",
       " 91,\n",
       " 18,\n",
       " 87,\n",
       " 71,\n",
       " 20,\n",
       " 37,\n",
       " 74,\n",
       " 92,\n",
       " 99,\n",
       " 99,\n",
       " 98,\n",
       " 40,\n",
       " 65,\n",
       " 26,\n",
       " 93,\n",
       " 82,\n",
       " 34,\n",
       " 98,\n",
       " 21,\n",
       " 94,\n",
       " 53,\n",
       " 9,\n",
       " 63,\n",
       " 6,\n",
       " 50,\n",
       " 27,\n",
       " 32,\n",
       " 66,\n",
       " 65,\n",
       " 21,\n",
       " 19,\n",
       " 13,\n",
       " 85,\n",
       " 23,\n",
       " 99,\n",
       " 65,\n",
       " 49,\n",
       " 48,\n",
       " 83,\n",
       " 95,\n",
       " 58,\n",
       " 66,\n",
       " 5,\n",
       " 71,\n",
       " 48,\n",
       " 11,\n",
       " 3,\n",
       " 3,\n",
       " 98,\n",
       " 83,\n",
       " 99,\n",
       " 91,\n",
       " 83,\n",
       " 60,\n",
       " 33,\n",
       " 27,\n",
       " 84,\n",
       " 1,\n",
       " 3,\n",
       " 77,\n",
       " 51,\n",
       " 69,\n",
       " 56,\n",
       " 41,\n",
       " 42,\n",
       " 5,\n",
       " 24,\n",
       " 10,\n",
       " 82,\n",
       " 13,\n",
       " 79,\n",
       " 33,\n",
       " 77,\n",
       " 82,\n",
       " 4,\n",
       " 54,\n",
       " 2,\n",
       " 70,\n",
       " 64,\n",
       " 17,\n",
       " 44,\n",
       " 77,\n",
       " 83,\n",
       " 20,\n",
       " 4,\n",
       " 7,\n",
       " 18,\n",
       " 17,\n",
       " 87,\n",
       " 42,\n",
       " 67,\n",
       " 39,\n",
       " 36,\n",
       " 76,\n",
       " 76,\n",
       " 77,\n",
       " 13,\n",
       " 4,\n",
       " 3,\n",
       " 92,\n",
       " 35,\n",
       " 7,\n",
       " 66,\n",
       " 87,\n",
       " 5,\n",
       " 100,\n",
       " 34,\n",
       " 45,\n",
       " 37,\n",
       " 35,\n",
       " 51,\n",
       " 50,\n",
       " 92,\n",
       " 71,\n",
       " 38,\n",
       " 88,\n",
       " 65,\n",
       " 50,\n",
       " 68,\n",
       " 65,\n",
       " 78,\n",
       " 22,\n",
       " 86,\n",
       " 68,\n",
       " 55,\n",
       " 70,\n",
       " 83,\n",
       " 3,\n",
       " 72,\n",
       " 25,\n",
       " 11,\n",
       " 75,\n",
       " 93,\n",
       " 4,\n",
       " 59,\n",
       " 48,\n",
       " 59,\n",
       " 47,\n",
       " 30,\n",
       " 17,\n",
       " 24,\n",
       " 94,\n",
       " 2,\n",
       " 5,\n",
       " 99,\n",
       " 6,\n",
       " 85,\n",
       " 25,\n",
       " 71,\n",
       " 70,\n",
       " 30,\n",
       " 31,\n",
       " 32,\n",
       " 60,\n",
       " 58,\n",
       " 31,\n",
       " 12,\n",
       " 97,\n",
       " 90,\n",
       " 20,\n",
       " 76,\n",
       " 55,\n",
       " 81,\n",
       " 28,\n",
       " 71,\n",
       " 68,\n",
       " 98,\n",
       " 4,\n",
       " 13,\n",
       " 48,\n",
       " 57,\n",
       " 86,\n",
       " 34,\n",
       " 37,\n",
       " 92,\n",
       " 56,\n",
       " 97,\n",
       " 47,\n",
       " 87,\n",
       " 27,\n",
       " 14,\n",
       " 5,\n",
       " 43,\n",
       " 3,\n",
       " 99,\n",
       " 33,\n",
       " 39,\n",
       " 19,\n",
       " 30,\n",
       " 41,\n",
       " 45,\n",
       " 22,\n",
       " 60,\n",
       " 25,\n",
       " 91,\n",
       " 82,\n",
       " 36,\n",
       " 1,\n",
       " 50,\n",
       " 86,\n",
       " 11,\n",
       " 5,\n",
       " 24,\n",
       " 38,\n",
       " 30,\n",
       " 82,\n",
       " 36,\n",
       " 66,\n",
       " 68,\n",
       " 94,\n",
       " 0,\n",
       " 71,\n",
       " 86,\n",
       " 81,\n",
       " 87,\n",
       " 1,\n",
       " 0,\n",
       " 93,\n",
       " 17,\n",
       " 57,\n",
       " 47,\n",
       " 15,\n",
       " 3,\n",
       " 48,\n",
       " 35,\n",
       " 18,\n",
       " 66,\n",
       " 88,\n",
       " 83,\n",
       " 41,\n",
       " 2,\n",
       " 98,\n",
       " 74,\n",
       " 62,\n",
       " 35,\n",
       " 6,\n",
       " 66,\n",
       " 29,\n",
       " 37,\n",
       " 53,\n",
       " 41,\n",
       " 23,\n",
       " 5,\n",
       " 32,\n",
       " 94,\n",
       " 48,\n",
       " 91,\n",
       " 63,\n",
       " 81,\n",
       " 66,\n",
       " 6,\n",
       " 41,\n",
       " 1,\n",
       " 4,\n",
       " 80,\n",
       " 98,\n",
       " 96,\n",
       " 71,\n",
       " 39,\n",
       " 89,\n",
       " 57,\n",
       " 21,\n",
       " 27,\n",
       " 19,\n",
       " 84,\n",
       " 38,\n",
       " 75,\n",
       " 89,\n",
       " 48,\n",
       " 41,\n",
       " 36,\n",
       " 22,\n",
       " 20,\n",
       " 67,\n",
       " 32,\n",
       " 77,\n",
       " 78,\n",
       " 16,\n",
       " 75,\n",
       " 90,\n",
       " 42,\n",
       " 87,\n",
       " 9,\n",
       " 5,\n",
       " 58,\n",
       " 52,\n",
       " 44,\n",
       " 99,\n",
       " 18,\n",
       " 91,\n",
       " 50,\n",
       " 17,\n",
       " 80,\n",
       " 98,\n",
       " 44,\n",
       " 90,\n",
       " 37,\n",
       " 88,\n",
       " 59,\n",
       " 28,\n",
       " 32,\n",
       " 80,\n",
       " 70,\n",
       " 27,\n",
       " 81,\n",
       " 51,\n",
       " 43,\n",
       " 33,\n",
       " 73,\n",
       " 65,\n",
       " 1,\n",
       " 0,\n",
       " 17,\n",
       " 42,\n",
       " 24,\n",
       " 6,\n",
       " 57,\n",
       " 99,\n",
       " 22,\n",
       " 78,\n",
       " 1,\n",
       " 25,\n",
       " 30,\n",
       " 51,\n",
       " 69,\n",
       " 87,\n",
       " 22,\n",
       " 74,\n",
       " 85,\n",
       " 47,\n",
       " 11,\n",
       " 6,\n",
       " 60,\n",
       " 63,\n",
       " 57,\n",
       " 86,\n",
       " 73,\n",
       " 53,\n",
       " 73,\n",
       " 62,\n",
       " 15,\n",
       " 71,\n",
       " 91,\n",
       " 37,\n",
       " 32,\n",
       " 72,\n",
       " 23,\n",
       " 42,\n",
       " 94,\n",
       " 68,\n",
       " 65,\n",
       " 21,\n",
       " 24,\n",
       " 59,\n",
       " 80,\n",
       " 33,\n",
       " 89,\n",
       " 5,\n",
       " 5,\n",
       " 98,\n",
       " 96,\n",
       " 61,\n",
       " 7,\n",
       " 47,\n",
       " 63,\n",
       " 38,\n",
       " 74,\n",
       " 14,\n",
       " 92,\n",
       " 40,\n",
       " 80,\n",
       " 64,\n",
       " 75,\n",
       " 68,\n",
       " 63,\n",
       " 36,\n",
       " 54,\n",
       " 69,\n",
       " 92,\n",
       " 35,\n",
       " 17,\n",
       " 42,\n",
       " 90,\n",
       " 72,\n",
       " 31,\n",
       " 77,\n",
       " 49,\n",
       " 97,\n",
       " 76,\n",
       " 33,\n",
       " 85,\n",
       " 5,\n",
       " 77,\n",
       " 74,\n",
       " 88,\n",
       " 15,\n",
       " 10,\n",
       " 55,\n",
       " 90,\n",
       " 50,\n",
       " 8,\n",
       " 8,\n",
       " 68,\n",
       " 30,\n",
       " 41,\n",
       " 20,\n",
       " 90,\n",
       " 84,\n",
       " 68,\n",
       " 12,\n",
       " 56,\n",
       " 11,\n",
       " 64,\n",
       " 76,\n",
       " 25,\n",
       " 80,\n",
       " 82,\n",
       " 34,\n",
       " 4,\n",
       " 79,\n",
       " 92,\n",
       " 72,\n",
       " 56,\n",
       " 30,\n",
       " 91,\n",
       " 48,\n",
       " 6,\n",
       " 24,\n",
       " 11,\n",
       " 82,\n",
       " 43,\n",
       " 36,\n",
       " 71,\n",
       " 13,\n",
       " 0,\n",
       " 26,\n",
       " 47,\n",
       " 37,\n",
       " 50,\n",
       " 88,\n",
       " 72,\n",
       " 15,\n",
       " 58,\n",
       " 61,\n",
       " 15,\n",
       " 74,\n",
       " 5,\n",
       " 84,\n",
       " 22,\n",
       " 68,\n",
       " 90,\n",
       " 50,\n",
       " 88,\n",
       " 70,\n",
       " 85,\n",
       " 66,\n",
       " 100,\n",
       " 90,\n",
       " 98,\n",
       " 43,\n",
       " 95,\n",
       " 55,\n",
       " 85,\n",
       " 47,\n",
       " 98,\n",
       " 68,\n",
       " 89,\n",
       " 70,\n",
       " 67,\n",
       " 50,\n",
       " 6,\n",
       " 10,\n",
       " 97,\n",
       " 59,\n",
       " 69,\n",
       " 48,\n",
       " 7,\n",
       " 15,\n",
       " 29,\n",
       " 84,\n",
       " 42,\n",
       " 70,\n",
       " 91,\n",
       " 42,\n",
       " 52,\n",
       " 48,\n",
       " 61,\n",
       " 13,\n",
       " 46,\n",
       " 25,\n",
       " 10,\n",
       " 92,\n",
       " 64,\n",
       " 28,\n",
       " 2,\n",
       " 91,\n",
       " 49,\n",
       " 20,\n",
       " 62,\n",
       " 55,\n",
       " 1,\n",
       " 13,\n",
       " 70,\n",
       " 78,\n",
       " 54,\n",
       " 6,\n",
       " 86,\n",
       " 51,\n",
       " 56,\n",
       " 95,\n",
       " 80,\n",
       " 69,\n",
       " 44,\n",
       " 28,\n",
       " 23,\n",
       " 8,\n",
       " 2,\n",
       " 35,\n",
       " 6,\n",
       " 21,\n",
       " 82,\n",
       " 65,\n",
       " 65,\n",
       " 83,\n",
       " 91,\n",
       " 45,\n",
       " 86,\n",
       " 26,\n",
       " 93,\n",
       " 27,\n",
       " 51,\n",
       " 51,\n",
       " 45,\n",
       " 95,\n",
       " 98,\n",
       " 69,\n",
       " 4,\n",
       " 41,\n",
       " 47,\n",
       " 100,\n",
       " 80,\n",
       " 35,\n",
       " 15,\n",
       " 73,\n",
       " 67,\n",
       " 11,\n",
       " 99,\n",
       " 9,\n",
       " 86,\n",
       " 16,\n",
       " 97,\n",
       " 0,\n",
       " 47,\n",
       " 57,\n",
       " 9,\n",
       " 35,\n",
       " 71,\n",
       " 73,\n",
       " 88,\n",
       " 85,\n",
       " 26,\n",
       " 10,\n",
       " 64,\n",
       " 13,\n",
       " 92,\n",
       " 28,\n",
       " 45,\n",
       " 39,\n",
       " 28,\n",
       " 36]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "95 : 9\n",
      "21 : 10\n",
      "28 : 9\n",
      "15 : 12\n",
      "48 : 14\n",
      "42 : 12\n",
      "52 : 9\n",
      "14 : 8\n",
      "43 : 8\n",
      "49 : 8\n",
      "17 : 11\n",
      "32 : 9\n",
      "9 : 8\n",
      "13 : 12\n",
      "6 : 18\n",
      "34 : 6\n",
      "59 : 10\n",
      "68 : 17\n",
      "13 : 12\n",
      "53 : 6\n",
      "37 : 13\n",
      "83 : 14\n",
      "89 : 8\n",
      "13 : 12\n",
      "49 : 8\n",
      "66 : 13\n",
      "67 : 8\n",
      "81 : 9\n",
      "51 : 12\n",
      "31 : 8\n",
      "17 : 11\n",
      "8 : 9\n",
      "88 : 9\n",
      "51 : 12\n",
      "44 : 6\n",
      "39 : 8\n",
      "3 : 10\n",
      "43 : 8\n",
      "20 : 10\n",
      "4 : 13\n",
      "17 : 11\n",
      "41 : 15\n",
      "68 : 17\n",
      "41 : 15\n",
      "82 : 15\n",
      "8 : 9\n",
      "86 : 13\n",
      "49 : 8\n",
      "22 : 12\n",
      "95 : 9\n",
      "62 : 6\n",
      "79 : 9\n",
      "72 : 10\n",
      "41 : 15\n",
      "15 : 12\n",
      "27 : 11\n",
      "82 : 15\n",
      "46 : 7\n",
      "37 : 13\n",
      "57 : 12\n",
      "12 : 7\n",
      "94 : 8\n",
      "7 : 9\n",
      "92 : 15\n",
      "75 : 13\n",
      "57 : 12\n",
      "22 : 12\n",
      "63 : 11\n",
      "76 : 9\n",
      "70 : 14\n",
      "83 : 14\n",
      "4 : 13\n",
      "21 : 10\n",
      "86 : 13\n",
      "43 : 8\n",
      "75 : 13\n",
      "14 : 8\n",
      "55 : 11\n",
      "41 : 15\n",
      "71 : 14\n",
      "7 : 9\n",
      "45 : 9\n",
      "68 : 17\n",
      "27 : 11\n",
      "98 : 15\n",
      "63 : 11\n",
      "81 : 9\n",
      "2 : 10\n",
      "75 : 13\n",
      "82 : 15\n",
      "69 : 10\n",
      "36 : 9\n",
      "14 : 8\n",
      "7 : 9\n",
      "30 : 12\n",
      "8 : 9\n",
      "100 : 7\n",
      "60 : 8\n",
      "99 : 16\n",
      "82 : 15\n",
      "71 : 14\n",
      "72 : 10\n",
      "40 : 5\n",
      "19 : 9\n",
      "21 : 10\n",
      "16 : 6\n",
      "23 : 6\n",
      "57 : 12\n",
      "59 : 10\n",
      "50 : 14\n",
      "98 : 15\n",
      "30 : 12\n",
      "96 : 7\n",
      "59 : 10\n",
      "65 : 11\n",
      "51 : 12\n",
      "70 : 14\n",
      "54 : 6\n",
      "50 : 14\n",
      "66 : 13\n",
      "79 : 9\n",
      "55 : 11\n",
      "78 : 7\n",
      "95 : 9\n",
      "26 : 5\n",
      "44 : 6\n",
      "79 : 9\n",
      "46 : 7\n",
      "85 : 13\n",
      "24 : 12\n",
      "25 : 9\n",
      "4 : 13\n",
      "31 : 8\n",
      "76 : 9\n",
      "55 : 11\n",
      "1 : 9\n",
      "83 : 14\n",
      "60 : 8\n",
      "15 : 12\n",
      "82 : 15\n",
      "75 : 13\n",
      "92 : 15\n",
      "89 : 8\n",
      "51 : 12\n",
      "97 : 9\n",
      "22 : 12\n",
      "83 : 14\n",
      "58 : 7\n",
      "30 : 12\n",
      "92 : 15\n",
      "69 : 10\n",
      "64 : 7\n",
      "34 : 6\n",
      "81 : 9\n",
      "84 : 7\n",
      "85 : 13\n",
      "9 : 8\n",
      "20 : 10\n",
      "68 : 17\n",
      "78 : 7\n",
      "6 : 18\n",
      "68 : 17\n",
      "5 : 14\n",
      "70 : 14\n",
      "97 : 9\n",
      "47 : 13\n",
      "80 : 12\n",
      "80 : 12\n",
      "37 : 13\n",
      "38 : 8\n",
      "15 : 12\n",
      "32 : 9\n",
      "20 : 10\n",
      "81 : 9\n",
      "43 : 8\n",
      "52 : 9\n",
      "71 : 14\n",
      "48 : 14\n",
      "77 : 11\n",
      "51 : 12\n",
      "48 : 14\n",
      "19 : 9\n",
      "27 : 11\n",
      "19 : 9\n",
      "79 : 9\n",
      "96 : 7\n",
      "58 : 7\n",
      "57 : 12\n",
      "94 : 8\n",
      "19 : 9\n",
      "56 : 11\n",
      "39 : 8\n",
      "42 : 12\n",
      "10 : 9\n",
      "6 : 18\n",
      "99 : 16\n",
      "30 : 12\n",
      "66 : 13\n",
      "59 : 10\n",
      "64 : 7\n",
      "79 : 9\n",
      "77 : 11\n",
      "75 : 13\n",
      "83 : 14\n",
      "57 : 12\n",
      "49 : 8\n",
      "29 : 6\n",
      "35 : 12\n",
      "56 : 11\n",
      "6 : 18\n",
      "12 : 7\n",
      "75 : 13\n",
      "52 : 9\n",
      "57 : 12\n",
      "86 : 13\n",
      "70 : 14\n",
      "16 : 6\n",
      "99 : 16\n",
      "1 : 9\n",
      "67 : 8\n",
      "86 : 13\n",
      "58 : 7\n",
      "91 : 11\n",
      "24 : 12\n",
      "25 : 9\n",
      "38 : 8\n",
      "63 : 11\n",
      "99 : 16\n",
      "62 : 6\n",
      "65 : 11\n",
      "22 : 12\n",
      "9 : 8\n",
      "38 : 8\n",
      "74 : 10\n",
      "28 : 9\n",
      "55 : 11\n",
      "77 : 11\n",
      "79 : 9\n",
      "83 : 14\n",
      "2 : 10\n",
      "37 : 13\n",
      "8 : 9\n",
      "66 : 13\n",
      "35 : 12\n",
      "50 : 14\n",
      "73 : 10\n",
      "45 : 9\n",
      "17 : 11\n",
      "68 : 17\n",
      "41 : 15\n",
      "29 : 6\n",
      "0 : 8\n",
      "40 : 5\n",
      "24 : 12\n",
      "32 : 9\n",
      "85 : 13\n",
      "52 : 9\n",
      "4 : 13\n",
      "90 : 10\n",
      "67 : 8\n",
      "79 : 9\n",
      "46 : 7\n",
      "14 : 8\n",
      "5 : 14\n",
      "67 : 8\n",
      "42 : 12\n",
      "45 : 9\n",
      "30 : 12\n",
      "95 : 9\n",
      "84 : 7\n",
      "41 : 15\n",
      "24 : 12\n",
      "50 : 14\n",
      "73 : 10\n",
      "100 : 7\n",
      "6 : 18\n",
      "0 : 8\n",
      "62 : 6\n",
      "100 : 7\n",
      "8 : 9\n",
      "2 : 10\n",
      "89 : 8\n",
      "29 : 6\n",
      "25 : 9\n",
      "56 : 11\n",
      "73 : 10\n",
      "41 : 15\n",
      "69 : 10\n",
      "86 : 13\n",
      "35 : 12\n",
      "21 : 10\n",
      "61 : 5\n",
      "92 : 15\n",
      "46 : 7\n",
      "97 : 9\n",
      "36 : 9\n",
      "87 : 11\n",
      "70 : 14\n",
      "81 : 9\n",
      "24 : 12\n",
      "50 : 14\n",
      "31 : 8\n",
      "90 : 10\n",
      "39 : 8\n",
      "46 : 7\n",
      "53 : 6\n",
      "100 : 7\n",
      "49 : 8\n",
      "77 : 11\n",
      "4 : 13\n",
      "74 : 10\n",
      "47 : 13\n",
      "75 : 13\n",
      "10 : 9\n",
      "52 : 9\n",
      "42 : 12\n",
      "18 : 7\n",
      "92 : 15\n",
      "71 : 14\n",
      "31 : 8\n",
      "74 : 10\n",
      "47 : 13\n",
      "99 : 16\n",
      "19 : 9\n",
      "19 : 9\n",
      "99 : 16\n",
      "75 : 13\n",
      "87 : 11\n",
      "56 : 11\n",
      "22 : 12\n",
      "72 : 10\n",
      "40 : 5\n",
      "66 : 13\n",
      "55 : 11\n",
      "82 : 15\n",
      "68 : 17\n",
      "60 : 8\n",
      "31 : 8\n",
      "97 : 9\n",
      "16 : 6\n",
      "70 : 14\n",
      "3 : 10\n",
      "99 : 16\n",
      "56 : 11\n",
      "94 : 8\n",
      "38 : 8\n",
      "56 : 11\n",
      "52 : 9\n",
      "72 : 10\n",
      "63 : 11\n",
      "18 : 7\n",
      "21 : 10\n",
      "23 : 6\n",
      "61 : 5\n",
      "9 : 8\n",
      "60 : 8\n",
      "72 : 10\n",
      "14 : 8\n",
      "82 : 15\n",
      "76 : 9\n",
      "85 : 13\n",
      "98 : 15\n",
      "7 : 9\n",
      "14 : 8\n",
      "33 : 7\n",
      "59 : 10\n",
      "63 : 11\n",
      "63 : 11\n",
      "12 : 7\n",
      "2 : 10\n",
      "11 : 9\n",
      "74 : 10\n",
      "12 : 7\n",
      "87 : 11\n",
      "15 : 12\n",
      "75 : 13\n",
      "85 : 13\n",
      "24 : 12\n",
      "54 : 6\n",
      "85 : 13\n",
      "45 : 9\n",
      "6 : 18\n",
      "55 : 11\n",
      "0 : 8\n",
      "10 : 9\n",
      "76 : 9\n",
      "28 : 9\n",
      "18 : 7\n",
      "69 : 10\n",
      "96 : 7\n",
      "6 : 18\n",
      "96 : 7\n",
      "8 : 9\n",
      "88 : 9\n",
      "53 : 6\n",
      "95 : 9\n",
      "96 : 7\n",
      "37 : 13\n",
      "2 : 10\n",
      "80 : 12\n",
      "11 : 9\n",
      "92 : 15\n",
      "89 : 8\n",
      "46 : 7\n",
      "80 : 12\n",
      "10 : 9\n",
      "27 : 11\n",
      "3 : 10\n",
      "83 : 14\n",
      "7 : 9\n",
      "20 : 10\n",
      "13 : 12\n",
      "73 : 10\n",
      "29 : 6\n",
      "22 : 12\n",
      "48 : 14\n",
      "52 : 9\n",
      "39 : 8\n",
      "78 : 7\n",
      "98 : 15\n",
      "73 : 10\n",
      "6 : 18\n",
      "87 : 11\n",
      "27 : 11\n",
      "12 : 7\n",
      "35 : 12\n",
      "37 : 13\n",
      "47 : 13\n",
      "16 : 6\n",
      "54 : 6\n",
      "91 : 11\n",
      "18 : 7\n",
      "87 : 11\n",
      "71 : 14\n",
      "20 : 10\n",
      "37 : 13\n",
      "74 : 10\n",
      "92 : 15\n",
      "99 : 16\n",
      "99 : 16\n",
      "98 : 15\n",
      "40 : 5\n",
      "65 : 11\n",
      "26 : 5\n",
      "93 : 4\n",
      "82 : 15\n",
      "34 : 6\n",
      "98 : 15\n",
      "21 : 10\n",
      "94 : 8\n",
      "53 : 6\n",
      "9 : 8\n",
      "63 : 11\n",
      "6 : 18\n",
      "50 : 14\n",
      "27 : 11\n",
      "32 : 9\n",
      "66 : 13\n",
      "65 : 11\n",
      "21 : 10\n",
      "19 : 9\n",
      "13 : 12\n",
      "85 : 13\n",
      "23 : 6\n",
      "99 : 16\n",
      "65 : 11\n",
      "49 : 8\n",
      "48 : 14\n",
      "83 : 14\n",
      "95 : 9\n",
      "58 : 7\n",
      "66 : 13\n",
      "5 : 14\n",
      "71 : 14\n",
      "48 : 14\n",
      "11 : 9\n",
      "3 : 10\n",
      "3 : 10\n",
      "98 : 15\n",
      "83 : 14\n",
      "99 : 16\n",
      "91 : 11\n",
      "83 : 14\n",
      "60 : 8\n",
      "33 : 7\n",
      "27 : 11\n",
      "84 : 7\n",
      "1 : 9\n",
      "3 : 10\n",
      "77 : 11\n",
      "51 : 12\n",
      "69 : 10\n",
      "56 : 11\n",
      "41 : 15\n",
      "42 : 12\n",
      "5 : 14\n",
      "24 : 12\n",
      "10 : 9\n",
      "82 : 15\n",
      "13 : 12\n",
      "79 : 9\n",
      "33 : 7\n",
      "77 : 11\n",
      "82 : 15\n",
      "4 : 13\n",
      "54 : 6\n",
      "2 : 10\n",
      "70 : 14\n",
      "64 : 7\n",
      "17 : 11\n",
      "44 : 6\n",
      "77 : 11\n",
      "83 : 14\n",
      "20 : 10\n",
      "4 : 13\n",
      "7 : 9\n",
      "18 : 7\n",
      "17 : 11\n",
      "87 : 11\n",
      "42 : 12\n",
      "67 : 8\n",
      "39 : 8\n",
      "36 : 9\n",
      "76 : 9\n",
      "76 : 9\n",
      "77 : 11\n",
      "13 : 12\n",
      "4 : 13\n",
      "3 : 10\n",
      "92 : 15\n",
      "35 : 12\n",
      "7 : 9\n",
      "66 : 13\n",
      "87 : 11\n",
      "5 : 14\n",
      "100 : 7\n",
      "34 : 6\n",
      "45 : 9\n",
      "37 : 13\n",
      "35 : 12\n",
      "51 : 12\n",
      "50 : 14\n",
      "92 : 15\n",
      "71 : 14\n",
      "38 : 8\n",
      "88 : 9\n",
      "65 : 11\n",
      "50 : 14\n",
      "68 : 17\n",
      "65 : 11\n",
      "78 : 7\n",
      "22 : 12\n",
      "86 : 13\n",
      "68 : 17\n",
      "55 : 11\n",
      "70 : 14\n",
      "83 : 14\n",
      "3 : 10\n",
      "72 : 10\n",
      "25 : 9\n",
      "11 : 9\n",
      "75 : 13\n",
      "93 : 4\n",
      "4 : 13\n",
      "59 : 10\n",
      "48 : 14\n",
      "59 : 10\n",
      "47 : 13\n",
      "30 : 12\n",
      "17 : 11\n",
      "24 : 12\n",
      "94 : 8\n",
      "2 : 10\n",
      "5 : 14\n",
      "99 : 16\n",
      "6 : 18\n",
      "85 : 13\n",
      "25 : 9\n",
      "71 : 14\n",
      "70 : 14\n",
      "30 : 12\n",
      "31 : 8\n",
      "32 : 9\n",
      "60 : 8\n",
      "58 : 7\n",
      "31 : 8\n",
      "12 : 7\n",
      "97 : 9\n",
      "90 : 10\n",
      "20 : 10\n",
      "76 : 9\n",
      "55 : 11\n",
      "81 : 9\n",
      "28 : 9\n",
      "71 : 14\n",
      "68 : 17\n",
      "98 : 15\n",
      "4 : 13\n",
      "13 : 12\n",
      "48 : 14\n",
      "57 : 12\n",
      "86 : 13\n",
      "34 : 6\n",
      "37 : 13\n",
      "92 : 15\n",
      "56 : 11\n",
      "97 : 9\n",
      "47 : 13\n",
      "87 : 11\n",
      "27 : 11\n",
      "14 : 8\n",
      "5 : 14\n",
      "43 : 8\n",
      "3 : 10\n",
      "99 : 16\n",
      "33 : 7\n",
      "39 : 8\n",
      "19 : 9\n",
      "30 : 12\n",
      "41 : 15\n",
      "45 : 9\n",
      "22 : 12\n",
      "60 : 8\n",
      "25 : 9\n",
      "91 : 11\n",
      "82 : 15\n",
      "36 : 9\n",
      "1 : 9\n",
      "50 : 14\n",
      "86 : 13\n",
      "11 : 9\n",
      "5 : 14\n",
      "24 : 12\n",
      "38 : 8\n",
      "30 : 12\n",
      "82 : 15\n",
      "36 : 9\n",
      "66 : 13\n",
      "68 : 17\n",
      "94 : 8\n",
      "0 : 8\n",
      "71 : 14\n",
      "86 : 13\n",
      "81 : 9\n",
      "87 : 11\n",
      "1 : 9\n",
      "0 : 8\n",
      "93 : 4\n",
      "17 : 11\n",
      "57 : 12\n",
      "47 : 13\n",
      "15 : 12\n",
      "3 : 10\n",
      "48 : 14\n",
      "35 : 12\n",
      "18 : 7\n",
      "66 : 13\n",
      "88 : 9\n",
      "83 : 14\n",
      "41 : 15\n",
      "2 : 10\n",
      "98 : 15\n",
      "74 : 10\n",
      "62 : 6\n",
      "35 : 12\n",
      "6 : 18\n",
      "66 : 13\n",
      "29 : 6\n",
      "37 : 13\n",
      "53 : 6\n",
      "41 : 15\n",
      "23 : 6\n",
      "5 : 14\n",
      "32 : 9\n",
      "94 : 8\n",
      "48 : 14\n",
      "91 : 11\n",
      "63 : 11\n",
      "81 : 9\n",
      "66 : 13\n",
      "6 : 18\n",
      "41 : 15\n",
      "1 : 9\n",
      "4 : 13\n",
      "80 : 12\n",
      "98 : 15\n",
      "96 : 7\n",
      "71 : 14\n",
      "39 : 8\n",
      "89 : 8\n",
      "57 : 12\n",
      "21 : 10\n",
      "27 : 11\n",
      "19 : 9\n",
      "84 : 7\n",
      "38 : 8\n",
      "75 : 13\n",
      "89 : 8\n",
      "48 : 14\n",
      "41 : 15\n",
      "36 : 9\n",
      "22 : 12\n",
      "20 : 10\n",
      "67 : 8\n",
      "32 : 9\n",
      "77 : 11\n",
      "78 : 7\n",
      "16 : 6\n",
      "75 : 13\n",
      "90 : 10\n",
      "42 : 12\n",
      "87 : 11\n",
      "9 : 8\n",
      "5 : 14\n",
      "58 : 7\n",
      "52 : 9\n",
      "44 : 6\n",
      "99 : 16\n",
      "18 : 7\n",
      "91 : 11\n",
      "50 : 14\n",
      "17 : 11\n",
      "80 : 12\n",
      "98 : 15\n",
      "44 : 6\n",
      "90 : 10\n",
      "37 : 13\n",
      "88 : 9\n",
      "59 : 10\n",
      "28 : 9\n",
      "32 : 9\n",
      "80 : 12\n",
      "70 : 14\n",
      "27 : 11\n",
      "81 : 9\n",
      "51 : 12\n",
      "43 : 8\n",
      "33 : 7\n",
      "73 : 10\n",
      "65 : 11\n",
      "1 : 9\n",
      "0 : 8\n",
      "17 : 11\n",
      "42 : 12\n",
      "24 : 12\n",
      "6 : 18\n",
      "57 : 12\n",
      "99 : 16\n",
      "22 : 12\n",
      "78 : 7\n",
      "1 : 9\n",
      "25 : 9\n",
      "30 : 12\n",
      "51 : 12\n",
      "69 : 10\n",
      "87 : 11\n",
      "22 : 12\n",
      "74 : 10\n",
      "85 : 13\n",
      "47 : 13\n",
      "11 : 9\n",
      "6 : 18\n",
      "60 : 8\n",
      "63 : 11\n",
      "57 : 12\n",
      "86 : 13\n",
      "73 : 10\n",
      "53 : 6\n",
      "73 : 10\n",
      "62 : 6\n",
      "15 : 12\n",
      "71 : 14\n",
      "91 : 11\n",
      "37 : 13\n",
      "32 : 9\n",
      "72 : 10\n",
      "23 : 6\n",
      "42 : 12\n",
      "94 : 8\n",
      "68 : 17\n",
      "65 : 11\n",
      "21 : 10\n",
      "24 : 12\n",
      "59 : 10\n",
      "80 : 12\n",
      "33 : 7\n",
      "89 : 8\n",
      "5 : 14\n",
      "5 : 14\n",
      "98 : 15\n",
      "96 : 7\n",
      "61 : 5\n",
      "7 : 9\n",
      "47 : 13\n",
      "63 : 11\n",
      "38 : 8\n",
      "74 : 10\n",
      "14 : 8\n",
      "92 : 15\n",
      "40 : 5\n",
      "80 : 12\n",
      "64 : 7\n",
      "75 : 13\n",
      "68 : 17\n",
      "63 : 11\n",
      "36 : 9\n",
      "54 : 6\n",
      "69 : 10\n",
      "92 : 15\n",
      "35 : 12\n",
      "17 : 11\n",
      "42 : 12\n",
      "90 : 10\n",
      "72 : 10\n",
      "31 : 8\n",
      "77 : 11\n",
      "49 : 8\n",
      "97 : 9\n",
      "76 : 9\n",
      "33 : 7\n",
      "85 : 13\n",
      "5 : 14\n",
      "77 : 11\n",
      "74 : 10\n",
      "88 : 9\n",
      "15 : 12\n",
      "10 : 9\n",
      "55 : 11\n",
      "90 : 10\n",
      "50 : 14\n",
      "8 : 9\n",
      "8 : 9\n",
      "68 : 17\n",
      "30 : 12\n",
      "41 : 15\n",
      "20 : 10\n",
      "90 : 10\n",
      "84 : 7\n",
      "68 : 17\n",
      "12 : 7\n",
      "56 : 11\n",
      "11 : 9\n",
      "64 : 7\n",
      "76 : 9\n",
      "25 : 9\n",
      "80 : 12\n",
      "82 : 15\n",
      "34 : 6\n",
      "4 : 13\n",
      "79 : 9\n",
      "92 : 15\n",
      "72 : 10\n",
      "56 : 11\n",
      "30 : 12\n",
      "91 : 11\n",
      "48 : 14\n",
      "6 : 18\n",
      "24 : 12\n",
      "11 : 9\n",
      "82 : 15\n",
      "43 : 8\n",
      "36 : 9\n",
      "71 : 14\n",
      "13 : 12\n",
      "0 : 8\n",
      "26 : 5\n",
      "47 : 13\n",
      "37 : 13\n",
      "50 : 14\n",
      "88 : 9\n",
      "72 : 10\n",
      "15 : 12\n",
      "58 : 7\n",
      "61 : 5\n",
      "15 : 12\n",
      "74 : 10\n",
      "5 : 14\n",
      "84 : 7\n",
      "22 : 12\n",
      "68 : 17\n",
      "90 : 10\n",
      "50 : 14\n",
      "88 : 9\n",
      "70 : 14\n",
      "85 : 13\n",
      "66 : 13\n",
      "100 : 7\n",
      "90 : 10\n",
      "98 : 15\n",
      "43 : 8\n",
      "95 : 9\n",
      "55 : 11\n",
      "85 : 13\n",
      "47 : 13\n",
      "98 : 15\n",
      "68 : 17\n",
      "89 : 8\n",
      "70 : 14\n",
      "67 : 8\n",
      "50 : 14\n",
      "6 : 18\n",
      "10 : 9\n",
      "97 : 9\n",
      "59 : 10\n",
      "69 : 10\n",
      "48 : 14\n",
      "7 : 9\n",
      "15 : 12\n",
      "29 : 6\n",
      "84 : 7\n",
      "42 : 12\n",
      "70 : 14\n",
      "91 : 11\n",
      "42 : 12\n",
      "52 : 9\n",
      "48 : 14\n",
      "61 : 5\n",
      "13 : 12\n",
      "46 : 7\n",
      "25 : 9\n",
      "10 : 9\n",
      "92 : 15\n",
      "64 : 7\n",
      "28 : 9\n",
      "2 : 10\n",
      "91 : 11\n",
      "49 : 8\n",
      "20 : 10\n",
      "62 : 6\n",
      "55 : 11\n",
      "1 : 9\n",
      "13 : 12\n",
      "70 : 14\n",
      "78 : 7\n",
      "54 : 6\n",
      "6 : 18\n",
      "86 : 13\n",
      "51 : 12\n",
      "56 : 11\n",
      "95 : 9\n",
      "80 : 12\n",
      "69 : 10\n",
      "44 : 6\n",
      "28 : 9\n",
      "23 : 6\n",
      "8 : 9\n",
      "2 : 10\n",
      "35 : 12\n",
      "6 : 18\n",
      "21 : 10\n",
      "82 : 15\n",
      "65 : 11\n",
      "65 : 11\n",
      "83 : 14\n",
      "91 : 11\n",
      "45 : 9\n",
      "86 : 13\n",
      "26 : 5\n",
      "93 : 4\n",
      "27 : 11\n",
      "51 : 12\n",
      "51 : 12\n",
      "45 : 9\n",
      "95 : 9\n",
      "98 : 15\n",
      "69 : 10\n",
      "4 : 13\n",
      "41 : 15\n",
      "47 : 13\n",
      "100 : 7\n",
      "80 : 12\n",
      "35 : 12\n",
      "15 : 12\n",
      "73 : 10\n",
      "67 : 8\n",
      "11 : 9\n",
      "99 : 16\n",
      "9 : 8\n",
      "86 : 13\n",
      "16 : 6\n",
      "97 : 9\n",
      "0 : 8\n",
      "47 : 13\n",
      "57 : 12\n",
      "9 : 8\n",
      "35 : 12\n",
      "71 : 14\n",
      "73 : 10\n",
      "88 : 9\n",
      "85 : 13\n",
      "26 : 5\n",
      "10 : 9\n",
      "64 : 7\n",
      "13 : 12\n",
      "92 : 15\n",
      "28 : 9\n",
      "45 : 9\n",
      "39 : 8\n",
      "28 : 9\n",
      "36 : 9\n"
     ]
    }
   ],
   "source": [
    "for i in x:\n",
    "    print(i,':',x.count(i))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "16不会"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个列表：[9,6,4,7]\n"
     ]
    }
   ],
   "source": [
    "x = eval(input('请输入一个列表：'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入第一个下标:1\n"
     ]
    }
   ],
   "source": [
    "a = eval(input('请输入第一个下标:'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入第二个下标:3\n"
     ]
    }
   ],
   "source": [
    "b = eval(input('请输入第二个下标:'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "17"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "d = {'Mike':'1','Marry':'2','Tom':3}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "input your name Jenny\n"
     ]
    }
   ],
   "source": [
    "a = input(\"input your name\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "您输入的键不存在\n"
     ]
    }
   ],
   "source": [
    "print(d.get(a,\"您输入的键不存在\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "18"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "s = [random.randint(0,100)for i in range(20)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[99, 41, 5, 55, 26, 17, 98, 10, 77, 61, 14, 91, 64, 98, 8, 73, 92, 42, 6, 19]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = sorted(s[:10])\n",
    "b = sorted(s[10:],reverse = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = a+b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[5, 10, 17, 26, 41, 55, 61, 77, 98, 99, 98, 92, 91, 73, 64, 42, 19, 14, 8, 6]\n"
     ]
    }
   ],
   "source": [
    "print(x)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "165px"
   },
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
